/***************************************************
 @Name :        1196kk0
 @Time :        2025-05-26
 @Email :       2232506563@qq.com
 @Comment :     SG90舵机PWM初始化及动作函数
 @FileName :    drv_Servo.h
 @Version :     4.0
****************************************************/
#ifndef __DRV_SERVO_H__
#define __DRV_SERVO_H__

/********** 头文件 **********/
#include "stm32f4xx.h"
#include "drivers_Systick.h"

/********** 宏定义 **********/
#define TAIL 16
#define LEFT_UP 8
#define LEFT_DOWN 4
#define RIGHT_UP 2
#define RIGHT_DOWN 1

/********* 声明函数 *********/
void tim3_init(uint32_t count_circulation, uint32_t prescaler);

void tim3_ch1_pa6_init(void);

void tim3_ch2_pa7_init(void);

void tim3_ch3_pc8_init(void);

void tim3_ch4_pc9_init(void);

void tim5_ch2_pa1_init(void);

void set_angle(uint8_t angle, uint16_t position);

extern uint8_t leg_angle[4];

void smooth_moving(uint8_t new_angle, uint16_t position);

void Dog_Stand(void);

void Dog_Sit(void);

void Dog_Lie_down(void);

void Dog_Handshake(void);

void Dog_Move_forward(void);

void Dog_Move_back(void);

void Dog_Turn_left(void);

void Dog_Turn_right(void);

void Dog_Dance(void);

void Dog_Push_up(void);

#endif



